package tests;

import org.junit.Test;

import utils.CustomRandom;
import utils.UI.JFreeChart.Tp4Header;
import AlgoritmosGeneticos.model.AlgoritmoGenetico;
import AlgoritmosGeneticos.model.impl.AlgoritmoGeneticoImpl;
import AlgoritmosGeneticos.model.impl.corte.CorteIteraciones;
import AlgoritmosGeneticos.model.impl.cruces.CruceSimple;
import AlgoritmosGeneticos.model.impl.mutuaciones.MutacionBasica;
import AlgoritmosGeneticos.model.impl.selecciones.Elite;

public class TestAlgoritmoGenetico {

	CustomRandom cr=new CustomRandom(1);
	
	@Test
	public void testAlgoritmoPrincipal() throws InterruptedException{
		
		AlgoritmoGeneticoImpl ag= new AlgoritmoGeneticoImpl(200, 20, 0.01);
		
		ag.setOpCru		(new CruceSimple());
		ag.setOpMut		(new MutacionBasica());
		ag.seteSeleccion(new Elite());
		ag.seteReemplazo(new Elite());
		ag.setCondicion	(new CorteIteraciones(30));
		ag.setHeaders	(new Tp4Header());
		ag.setSeePlot	(true);
		
		ag.setFitness			(AlgoritmoGenetico.fitness.MINIMO);
		ag.setMaxIterations		(200);
		ag.evolucionaPoblacion	();
	}
}
